
using System;
using System.Reflection;
using Qdb.Config;

namespace Qdb.Internal
{
	public partial class Config4Impl
	{
		private static ILegacyClientServerFactory DefaultClientServerFactory()
		{
			Assembly csAssembly = Assembly.Load(ClientServerAssemblyName());
			return (ILegacyClientServerFactory) Activator.CreateInstance(csAssembly.GetType("Qdb.CS.Internal.Config.LegacyClientServerFactoryImpl"));
		}

		private static string ClientServerAssemblyName()
		{
			Assembly qdbAssembly = typeof(IObjectContainer).Assembly;
			string qdbAssemblySimpleName = qdbAssembly.GetName().Name;
			return qdbAssembly.FullName.Replace(qdbAssemblySimpleName, "Qdb.CS");
		}

		private static Type[] IgnoredClasses()
		{
			return new Type[] { typeof(P1Object), typeof(StaticClass), typeof(StaticField) };
		}
	}
}
